从生僻到精通 五招玩转Insyde BIOS

您所在的位置:网站首页 ami bios 隐藏选项 从生僻到精通 五招玩转Insyde BIOS

从生僻到精通 五招玩转Insyde BIOS

2023-12-08 12:17| 来源: 网络整理| 查看: 265

前不久我们曾经在《微型计算机》的《技术广角》栏目中深入讨论了台式机的BIOS技术知识,相信大家已经对AMI、Award等台式机上常见的BIOS有了较为深入的了解。不过,在AMI和Award之外,有一种新兴的BIOS形态逐渐得到了越来越多的应用,尤其是在笔记本电脑上较为常见,这就是InsydeBIOS系统。

Insyde BIOS系统是什么?能够像之前修改AMI BIOS一样对其进行MOD吗?修改Insyde BIOS能得到哪些好处?本文将带大家一起玩转这个新的BIOS系统。

重要说明

文中的修改,只是就技术探讨的角度进行,为大家提供动手的参考。修改BIOS存在较大风险,且容易导致笔记本电脑或主板失去保修资格,请谨慎操作。同时本文只限于技术探讨,勿做其它用途,非法使用导致的责任由用户自行承担。

特别提醒:进行BIOS的刷新修改之前,请务必备份系统原有BIOS文件,以便在操作失败之后进行还原。

BIOS修改的五大好处:

1.为系统增加额外的功能; 2.定制个性化的开机界面; 3.开启BIOS选项中的隐藏选项,比如丰富超频调节选项; 4.可以通过修改ID信息安装某些特殊的OEM版操作系统或软件; 5.锻炼动手能力,提高DIY技巧。

如何修改Insyde BIOS为我所用?即使你搜遍世界各地的网站,回答都是一个:NO,没有任何资料可以参考。Insyde BIOS一直就好像一个谜,无人可以猜透。那么作为DIYer的我们是否也没有办法呢?当然不是!我们要做的,就是要破解这个谜题。为此,笔者特别对Insyde BIOS进行了一番研究并略有心得。不敢藏私,特借《微型计算机》与大家分享。

搜寻—Insyde BIOS的修改工具

Insyde BIOS是台湾系微公司开发的BIOS系统,在以前多用于嵌入式设备之中。近几年,Insyde BIOS在一些主板和部份笔记本电脑上也有所使用,但目前处于推广前期尚未大规模普及,因此相关修改工具软件在网上几乎没有。这使得很多主板或笔记本电脑用户无法修改BIOS实现其想要的额外附加功能,一时大为郁闷。

不过,笔者通过研究一些品牌笔记本电脑厂商提供的更新BIOS包,从中提取出了两款好用的官方配套工具软件,在此介绍给大家。

首先看第一款软件:Insyde Flash(图1)。

图1

这是Insyde官方的Windows系统刷新工具,新的版本由于含有iscflash.sys和iscflashx64.sys两个sys文件,得以同时支持Windows XP和Windows Vista下刷新(图2)。

图2

目前能在网上下载到的Insyde Flash只有单纯的刷新功能,而不具备BIOS备份功能,的确让人颇为沮丧。不过,经过笔者的一番研究,发现这个工具软件是可以自己进行二次修改,并使其功能更加强大的,其中的玄机后文自会解开。

再看下一个工具软件Flashit,这是只能在DOS下运行的刷新工具(图3)。

图3

如图3所示,利用Flashit可以将名为al90_114.fd的BIOS文件刷入主板。有了这两个工具,我们便可以对Isyde BIOS进行各种DIY了。

改造—Insyde Flash强化使用

有了工具,自然就有了修改Insyde BIOS的希望。不过正如前面所说,Insyde Flash这个工具功能比较单一,我们需要做的,就是要首先改装这个工具。

在Insyde Flash文件下有一个名为platform.ini的文件,这是程序配置文件,通过修改这个文件,我们就能对工具软件进行一些功能上的强化与改装。

笔者在此仅列了出对扩展功能有较大影响的设置选项,文件中的其余部份,读者可根据自己需要酌情更改或无须更改。

[FDFile] FileName= BackupName=

“FileName=”代表刷新工具只会导入名字为afa.fd的BIOS文件进行刷新。如果不输入,则会导入任意名字的BIOS文件。

“BackupName=”表示程序在刷新过程中先备份当前系统的BIOS为指定的文件名,如果不输入,则不会备份当前系统的BIOS。

[UpdateBlock] PatchFv=0 FileName=intel.fv FileOffset=0 FlashSize=0 PhysicalAddress=FFF00000 FvID=PM45 IDErrorAction=1

这是模块升级模式。如果PatchFv=1,则开启该升级模式。如果只想升级BIOS中某些模块,只需要输入模块的偏移量(offset)大小即可。比如将支持Windows Vista激活的SLIC模块直接刷入当前BIOS,就是非常有意思的事。此时如果FlashSize=0不进行设置,那么在该刷新模式下,会将待刷新模块的所有内容都刷入BIOS。

[FlashComplete] Action=1 Dialog=0 Counter=15

这是刷新完成后的电脑状态配置。Action=1表示完成后关闭系统,Action=2表示重启。Dialog=0表示在刷新时不显示对话框,Dialog=1表示显示对话框,Counter=15则表示显示对话框的时间为15秒。

[Logo] PatchLogo=0 FileName= GUID=

这是一个很关键的部分—logo刷新模式设置。如果PatchLogo=0,则表示不开启logo刷新模式,如果PatchLogo=1,则表示Insydeflash工具进入logo刷新模式,这个刷新模式只刷新logo部分。“FileName=”后面输入logo图片的地址,比如C:logo.pcx。图片格式可以是pcx、jpeg、bmp等,如果格式不对应,程序会自动转换成合适的格式进行刷新。“GUID=”代表是否需要单独刷新小logo的图片,比如在logo中加入一个CPU厂家的标志等,这个时候就需要添加GUID。

[VARIABLE] Flag=0 SystemManufacturer=0 BoardManufacturer=0 SystemProductName=0 SystemSerialNumber=0 Uuid=0 POSTInfo=0 Version=0 SLP=0 Setup=0 BootPriority=0 LastBootRecord=0 AcpiGlobalVariable=0 SLP2M=0 SLP2P=0

这也是很关键的变量配置。Flag=0表示不刷新,1为校验并刷新,2为只校验。如果想刷新下面的部分,首先要设置成Flag=1。

System Manu facturer是系统制作商,Board Manu facturer为主板制造商,System ProductName为产品名称,SystemSerialNumber系统序列号以及UUID全局唯一识别号,这些都是OEM信息中非常重要的内容,涉及到保修等一系列售后服务。如果不想更新,都设置为0。如果想单独升级某一个信息,在该信息后面将0改为1。比如要激活OEM版Windows XP就是在SystemManufacturer或者BoardManufacturer中加入厂商的代码。如果要设置SLIC激活Windows Vista,就需要使SLP起到作用。在后文我们有详细例子对其说明。

利用上面我们提到的配置信息修改方法,想要更改BIOS中的某一部分就非常简单,可以让Insydeflash按照我们想要的方式去刷新BIOS。

后,笔者为大家介绍一个小秘笈— 强化InsydeFlash的功能,打开隐藏窗口。只需要在platform.ini文件中加入一段文字即可:

[Option] Flag=1

这样我们就可以打开程序隐藏的一个窗口(图4)。注意看下面,有个option选项,点击之后即可出现原本隐藏的“insyde flash options”,共5个部分。

图4

option(图5):文件导入和备份,是否清空COMS,是否检查AC适配器和电量,是否检测BIOS的ID,以及以何种模式刷新。

图5

user interface(图6):包括主对话框设置,刷新完成系统设置等内容。

图6

ROM protection list(图7):这部分包括了对各模块刷新的具体设置。从这里我们可以看到,Insydeflash在默认情况下,对受保护的模块是不刷新的,如果需要更新相应的代码,就需要勾选模块前面方块。比如在忘记BIOS密码时,我们要刷新Password密码,就要在该项目前面的方块打上钩,因为我们的新BIOS是没有密码的,这样刷新BIOS后,就等于把密码清除掉了。

图7

logo(图8):如果要单独刷新开机logo,只需要将patch logo前的方块勾选,然后选择logo图片的地址,点击patch now即可进入到logo刷新模式单独刷新logo。如果要刷新小logo,比如intel标志。方法相同,但是需要加入GUID。

图8

update FV(图9):只要将需要升级模块地址导入,然后在filename里输入偏移量offset,在flashsize里输入模块大小,在physical内输入地址。比如我们可以用这个方法来给BIOS刷入一张完整的SLIC表,以便达到激活OEM操作系统的目的(后文有范例讲解)。

图9

设置完成以后,点击确定,导入要刷的BIOS文件,点击开始即可进行刷新。这种方法是比较直观的,使用方便,不过也有一定局限性。

利器—解密Flashit

前面我们说到,Insydef lash虽然直观但也有局限性——它只能选择如何刷新,但是很难单独修改一个部分。比如我们想更改UUID,想修改序列号,想单独备份BIOS。这些Insydeflash都是不能轻易做到的,这时就轮到刷新利器Flashit出场了。Flashit是在纯DOS下使用的小软件,只有400多kB,但是功能异常强大。我们来看如何运用这件神兵才能出神入化。

Flashit的使用命令格式为:Flashit filename [Option],而使用的关键就是如何配置参数[Option]:

/U 在刷新过程中显示确认信息 /N 在刷新完成后不重启计算机 /S 在刷新完成后关闭计算机 /AC 不检查是否插入电源适配器 /AB 检查电池电量的百分比 /MC 禁止一切检测,即不进行任何检查,直接执行命令 /PQ 检查当前ROM中的保护地址 /I:String 升级logo,需要在引导进入DOS系统时载入Himem.sys /O:String 输出文件,必须和/I命令一起用 /LG:String 获得GUID,升级小logo时需要,必须和/I,/WV,/WU参数同时使用 /B 刷新PEI volume /FM 刷新CPU微代码 /FV 刷新变量Variable /FD 刷新DXE /FE 刷新EC模块 /FL 刷新logo /FP 刷新密码 /FN 刷新 OEM NVS /FT:value 刷新OEM特别类型内容 /ALL 整个BIOS全部刷新 /LF 从另外一张软盘上导入FD文件,FD文件为insyde的BIOS文件默认的格式 /C 清空CMOS /PS 刷新SPI部分 /PN 刷新 NON-SPI部分 /E:Offset(Hex),Size(Hex),Address(Hex),模块刷新,按照offset位置和大小来升级对应的物理地址 /V 校验文件的完整性。用来校验BIOS文件是否完整 /RV 读取变量 /RB:Filename 读取二进制变量 /WV:String 写入变量(ASCII) /WU:String 写入变量(UNICODE) /WB:Filename 从一个二进制文件中写入变量 /1 保存当前的BIOS到一个1Mbit文件 /2 保存当前的BIOS到一个2Mbit文件 /4 保存当前的BIOS到一个4Mbit文件 /8 保存当前的BIOS到一个8Mbit文件

需要注意,我们下载的BIOS包和刷新到主板CMOS中的BIOS文件存在一个8倍的压缩关系,刷新的过程同时解压缩。即1MB的BIOS文件,刷新到主板上以后,其计算方式是8Mbit。所以如果你的主板BIOS文件是1MB,那么你备份当前BIOS用的命令就是Flashit afa.fd /8,这样得到的BIOS才是完整的1MB大小,如果加的参数是/1,那么备份出来的BIOS文件的大小只有128KB,而非1MB。

/DI 不显示ID /UU:[String] 比较UUID /SE:[String] 比较序列号 /GU:[String ] 比较GUID /PR 检查当前ROM的区域MAP /BIOS 刷新BIOS区域 /GbE 刷新GbE区域 /ME 刷新 ME区域 /Desc 刷新DESC区域 /EV 擦除变量 (ASCII) /BEEP 打开蜂鸣 /WH:Filename 写入HDCP密钥

其实Flashitde的使用也很简单。比如我们要将当前BIOS备份为1MB大小的文件,则需要执行Flashit afa.fd/8,这样就会将当前的BIOS备份为1MB的afa.fd(文件命名可随意)文件。如果想将afa.fd这个ROM文件刷入系统,则需要执行Flashit afa.fd/all/mc,可将文件全部刷入主板BIOS芯片中,而且在刷新时不做检测,直接刷入。

再举个例子,我们想写入UUID (通用唯一识别码,Universally Unique Identifier,作为机器的唯一识别代码),只需要执行Flashit/uu:AAAAAAAABBBBBBBBCCCCCCCCDDDDDDDD/wv,注意UUID是一个32位的字母和数字混合的字符串,这样便可以更改笔记本电脑的UUID了。同理,要刷入logo图片,只需要执行Flashit/i:logo.pcx,这里logo.pcx是是事先做好的logo图片。

通过这些参数,便可以实现各种不同的功能,对于刷新Insyde bios来说,是非常方便的。

“花样”—教你刷新Insyde BIOS

有了上面两个工具软件,我们就开始动手了。下面让我们来看一个具体的例子—刷新BIOS激活OEM版Windows Vista。

首先看Insydef lash在默认情况下的刷新配置(图10)。

图10

我们可以看到,虽然是全部刷新,但是受保护的PEI、Variable、EC、Password、OEM Data等部分是不刷新的。

这里,笔者以一款笔记本电脑为例,在安装了OEM版Windows Vista之后,出现了无法激活的问题(图11),这时就需要刷入SLIC表来激活OEM版Windows Vista。

图11

SLIC全称是Software Licensing Internal Code,即软件许可内部码。要有效识别一台机器是否为 OEM合法用户,可以在每台预装操作系统的机器主板BIOS里写入特定的信息,来标识这是一台OEM合法用户的机器,这样的信息就是SLIC。不同OEM厂商的SLIC不同,所以一般情况下OEM操作系统不能混用。

安装了该笔记本电脑OEM Windows Vista系统盘以后,提示没有激活。为什么会这样呢?在系统信息查看工具everestultimate中可以看到,ACPI右面的NSLI部分定义为Unkown,查看详细信息发现表长也是374字节,这就是一个SLIC表的长度(图12)。

图12

笔者用HWDIRECT分析工具查看NSLI表的内存地址,发现其中是空白,自然无法完成激活OEM Windows Vista的重任(图13)。

图13

要解决这个问题,首先想到更新BIOS,不过在使用Flashit将BIOS从1.10升级到1.14之后,SLIC表仍然为空(图14、15)。

图14

图15

BIOS版本已经从1.10升级为1.14。各种OEM信息都没有改变。但是ACPI的SLIC表部分,依然是NSLI空白,无法激活Windows Vista。看来Insydeflash或者Flashit保守刷新是不能完成刷新SLIC的任务的。

图16

图17

其实,此时将Insydeflash中刷新配置的OEM Data部分勾选,将新BIOS1.14版中的SLIC表也刷新到电脑中即可。因为SLIC表也属于OEM的内容,如果我们将OEM Data的数据全部刷入的话,隐藏的SLIC表就会显身了(图16、17)。

图18

从图18可以看出这是一张非常完成的SLIC表,具备了激活OEM Windows Vista的要素。再次进入系统之后,可以发现OEM操作系统已经被完美激活(图18)。

进阶—修改Insyde bios的DMI信息

通过前面刷新BIOS的例子,我们可以为BIOS增加一些全新的功能。那么这样做是不是已经完美呢?首先来看一张BIOS的OEM信息图(图19)。

图19

从图19可以看到,除了几条无关紧要的信息外,几乎所有的OEM信息都丢失了,这会影响到保修等一系列的事情。为什么会出现这种情况呢?原来我们在将BIOS全部内容刷入的时候,相当于厂家给主板BIOS芯片刷新BIOS,这样的主板类似于笔记本电脑的维修备件,是不含有OEM信息的。

如果想自己写入这部分信息,就需要发扬一下DIY精神了。当然,可以利用Flashit来修改一部分,比如前面我们提到的利用Flashit/uu:[string]/wv来修改UUID。但是Flashit对于修改DMI信息来说,就显得势单力薄了。它的强项在于刷新BIOS而不是修改DMI信息。而且Flashit要检测主板南桥北桥芯片和BIOS芯片的类型,对于一些芯片支持不是很完善,这样容易造成修改UUID失败。

什么是DMI

DMI是Desktop Management Interface的缩写,也就是桌面管理界面,它含有关于系统硬件的配置信息。DMI充当了管理工具和系统层之间接口的角色。它建立了标准的可管理系统,方便电脑厂商和用户了解系统。DMI的主要组成部分是Management Information Format (MIF)数据库,这个数据库包括了所有有关电脑系统和配件的信息。通过DMI,用户可以获取序列号、电脑厂商、串口信息以及其它系统配件信息。品牌机和笔记本电脑的OEM版的操作系统几乎都通过DMI信息对机器进行验证。

因此,对于Insyde BIOS的DMI信息修改而言,我们可以寻找新的工具来完成。笔者向大家重点推荐使用SMBCFG来修改。

尽管SMBCFG是修改Phoenix BIOS的工具软件,但它对于Insyde BIOS的支持非常不错,只是对新的Insyde H20 BIOS来说,有些内容无法修改,但是仍然可以修改绝大部份内容。

Step 1

在纯DOS下执行SMBCFG并回车,进入SMBCFG编辑状态,我们可在BIOS(Type00)内的BIOS Version版本信息V1.14处加上激活OEM Windows XP需要的字节,比如Acer System或者FujistsuSiemens Computers等。按F10键将修改内存保存到BIOS中,达到激活对应的OEM Windows XP的目的(图20)。

图20

Step 2

按方向键将光标移到System项,回车进入编辑菜单,可以修改产品名称、序列号和UUID,修改完成后,按F10键将修改内容保存到BIOS中(图21)。

图21

Step 3

按方向键将光标移到Enclosure/Chassis项,回车进入编辑菜单,可以修改资产标签等内容,比如在Asset Tag Number项中填入你的名字。同样在修改完成时,按F10键将修改内容保存到BIOS中。同理,还可以进入Procerssor项对CPU的一些信息进行修改(图22)。

图22

图23

除了SMBCFG之外,要修改Insyde BIOS的DMI信息,我们还可以使用DMICFG(图23)、AMIDEDOS(图24)以及DMI236(图25)等工具软件来进行修改。这些工具的使用方法与SMBCFG大同小异,限于篇幅,我们就不在此一一讲述了。

图24

图25

通过一系列的修改后,可以看到已经丢失的DMI信息全部回来了,而且添加了自己想要的字节,添加了资产标签,同时激活了对应的OEM Windows XP等。至此,关于Insyde BIOS的修改技巧就基本介绍完毕了。对BIOS的MOD虽然是个辛苦的技术活,但毫无疑问这是能体现DIY精神的行为之一,而且成功之后的喜悦也会让你得到极大的满足,有兴趣且动手能力不错的用户不妨试试。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3